package com.mx.ipn.escom.wad.proyecto.documento.controller;

import java.util.List;
import javax.inject.Named;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import org.apache.struts2.rest.DefaultHttpHeaders;
import org.apache.struts2.rest.HttpHeaders;
import com.mx.ipn.escom.wad.proyecto.documento.bussines.DocumentoBs;
import com.mx.ipn.escom.wad.proyecto.documento.model.Documento;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

@Namespace("/documentos")
@Named
@Results({
@Result(name = "success", type = "redirectAction", params = { "actionName",
		"gestionar-documento" })
})
public class GestionarDocumentoCtrl extends ActionSupport implements ModelDriven<Documento> {

	private static final long serialVersionUID = 1L;
	
	private Integer idSel;
	
	private Documento model;
	
	private DocumentoBs documentoBs;
	
	private List<Documento> listaDocumentos;
	
	public HttpHeaders index() {
		listaDocumentos = documentoBs.findAll();
		if(listaDocumentos == null || listaDocumentos.isEmpty()){
			addActionMessage(getText("SIN_REGISTROS_DOCUMENTO"));
		}
		return new DefaultHttpHeaders("index");
	}

	public String editNew() {
		return "editNew";
	}

	public void validateCreate() {
		
	}

	public String create() {
		return "success";
	}
	
	public String edit(){
		return "edit";
	}
	
	public void validateUpdate(){
		
	}
	
	public String update(){
		return "success";
	}
	
	public String deleteConfirm(){
		return "deleteConfirm";
	}
	
	public String destroy(){
		return "success";
	}
	
	public String show(){
		return "show";
	}

	public Documento getModel() {
		if (model == null ) {
			model = new Documento();
		}
		return model;
	}

	public void setModel(Documento model) {
		this.model = model;
	}

	public DocumentoBs getDocumentoBs() {
		return documentoBs;
	}

	public void setDocumentoBs(DocumentoBs documentoBs) {
		this.documentoBs = documentoBs;
	}

	public List<Documento> getListaDocumentos() {
		return listaDocumentos;
	}

	public void setListaDocumentos(List<Documento> listaDocumentos) {
		this.listaDocumentos = listaDocumentos;
	}

	public Integer getIdSel() {
		return idSel;
	}

	public void setIdSel(Integer idSel) {
		if(idSel!=null && model==null){
			model=documentoBs.findById(idSel);
		}
		this.idSel = idSel;
	}

}

